package com.aiprompt.demos.model.dto.user;

import lombok.Data;

import javax.validation.constraints.Email;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.Date;

/**
 * 用户更新个人信息请求
 * @author PromptCraft
 */
@Data
public class UserUpdateProfileRequest implements Serializable {
    private static final long serialVersionUID = 1L;
    
    /**
     * 用户昵称
     */
    @Size(max = 20, message = "用户昵称不能超过20个字符")
    private String userName;
    
    /**
     * 用户头像URL
     */
    @Size(max = 1024, message = "头像URL过长")
    private String userAvatar;
    
    /**
     * 用户简介
     */
    @Size(max = 512, message = "用户简介不能超过512个字符")
    private String userProfile;
    
    /**
     * 邮箱
     */
    @Email(message = "邮箱格式不正确")
    private String email;
    
    /**
     * 手机号
     */
    @Pattern(regexp = "^1[3-9]\\d{9}$", message = "手机号格式不正确")
    private String phone;
    
    /**
     * 性别：0-未知，1-男，2-女
     */
    private Integer gender;
    
    /**
     * 生日
     */
    private Date birthday;
}
